# !//home/yang/Python_projects python
# -*- coding: utf-8 -*-
# author:yang  time:19-7-8 上午10:08


# 已知小明所在的城市打车10元起步（3公里），3公里以后到20公里，每公里3元。
# 20公里以后每公里需另加0.6元的远途费，设计一个程序，输入公里数，自动计算出车费。
#
kilometres = int(input('公里数：'))

if kilometres <= 3:  # 3 公里以内包括 3 公里
    cost = 10
    print('费 用: %s' % cost)

elif 3 < kilometres <= 20:  # 3 - 20 公里以内 包括 20 公里
    cost1 = (kilometres - 3) * 3 + 10
    print('费 用: %s' % cost1)

else:  # 超过 20 公里
    cost2 = ((kilometres - 3) * 3) + (kilometres - 20) * 0.6 + 10
    print('费 用: %.2f' % cost2)

# 2.设计一个小程序，让用户输入一个整数X，判断0 —— X 这个数之间有多少个数是5的倍数？
# 并把所有5的倍数用保存到一个列表里面，打印出来。

num = int(input("请输入一个数:"))
temp = 0
num_list = []

for i in range(num):
    if i % 5 == 0:
        num_list.append(i)

print("5倍数有", len(num_list), "个")
print(num_list)


# 3.设计一个程序，通过输入文件名，会自动创建文件，创建后提示需要写入的内容，
# 可以在里面写入文件内容，然后自动保存退出。
import re


def project(name):
    """
    文件的创建和写入
    :param name:
    :return:
    """
    with open("{}".format(name), 'w', encoding='utf-8')as f:
        content = input("请输入你要写入的内容:")
        f.write(content)


name = input("请输入文件名(请带上文件后缀):")  # .txt  .py  .exe等
if re.search("\.(.*?)$", name):
    project(name)
    exit()
else:
    print("请输入文件后缀！！！")




# 4.面向对象：定义一个Person类，这个类有名字，年纪，职业，并且有至少三个方法。
# 这个类的实例之间，可以通过 + 进行互动。
# 并且实例可以直接被调用，调用的时候会去使用类的其中一个方法。

class Person:
    def __init__(self, name, grade, profession):
        self.name = name
        self.grade = grade
        self.profession = profession

    def say_name(self):
        return "My name is:%s \n" % self.name

    def say_grade(self):
        return "My grade is:%s \n" % self.grade

    def say_profession(self):
        return "My profession is:%s \n" % self.profession


person = Person('tom', 3, 'te')
print(person.say_name() + person.say_grade() + person.say_profession())


# 5.
# 设计一个拥有注册和登录功能的小程序，要求：注册完成后提示注册的账号和密码，
#  登录成功后，提示欢迎登录，账号或者密码不正确时，返回相应提示。
user_list = []
passwd_list = []


def register():
    user = input("请输入用户名：")
    passwd = input("请输入密码：")
    user_list.append(user)
    passwd_list.append(passwd)
    print("您的用户名是：", user)
    print("您的密码是：", passwd)


def login():
    user = input("请输入用户名：")
    passwd = input("请输入密码：")
    temp = len(user_list)
    for i in range(temp):
        if user == user_list[i] and passwd == passwd_list[i]:
            print("登录成功")
            break
        else:
            print("用户名或密码错误,请重新登录：")
            login()


def main():
    while True:
        print("******** 0. 退出 ********")
        print("******** 1. 登录 ********")
        print("******** 2. 注册 ********")
        num = int(input("请选择:"))
        if num == 0:
            break
        if num == 1:
            login()
        if num == 2:
            register()


if __name__ == '__main__':
    main()
